from flask import Flask,make_response

__author__ = 'xgp'

#创建并启动web服务器
app = Flask(__name__)
#导入配置文件
app.config.from_object('config')

#路由注册方法1：定义视图函数(Control层)
@app.route('/hello1/')#/hello与/hello/都可以访问，保证唯一url，seo更好，兼容原理，重定向
def hello1():
    return 'Hello1'

#路由注册方法2
def hello2():
    a = 1/0
    return 'Hello2'
app.add_url_rule('/hello2/',view_func=hello2)

#返回response对象方法1
@app.route('/hello3/')
def hello3():
    #会返回status code 和 content-type(默认值为 text/html)
    headers = {
        'content-type':'text/plain',#json数据改成 application/json
        'location':'http://www.baidu.com'
    }
    response = make_response('<html></html>',301)
    response.headers = headers
    return response

#返回response对象方法2
@app.route('/hello4/')
def hello4():
    #会返回status code 和 content-type(默认值为 text/html)
    headers = {
        'content-type':'application/json'#json数据改成 application/json
    }
    data = {'k1':'v1','k2':{'xxx':123}}
    return data,200,headers#会自动创建response对象

# app.run()
# app.run(debug=True)#打开调试模式
# app.run(host='0.0.0.0',debug=True,port=8081)#打开ip地址访问模式和调试模式
if __name__ == '__main__':  #保证生产环境不会被启动app.run()语句
    #生产环境 nginx+uwsgi
    app.run(host='0.0.0.0',debug=app.config['DEBUG'],port=8081)#线上模式，读取配置文件